package com.allwees.bs.c;

import com.allwees.core.cache.annotation.EnableCache;
import com.allwees.core.mq.rabbitmq.annotation.EnableMq;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.elasticsearch.rest.RestClientAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.util.Date;

@SpringBootApplication(exclude = RestClientAutoConfiguration.class)
@EnableConfigurationProperties
@ServletComponentScan
@EnableTransactionManagement
@EnableAsync
@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
@ComponentScan(basePackages = {"com.allwees"})
@EnableCache
@EnableMq
@MapperScan({"com.allwees.support.**.dao","com.allwees.bs.c.module.**.dao"})
@Slf4j
public class ApplicationMain {
    public static void main(String[] args) {
        log.info(">>>>>>>>>>>>>>>>>>>> current time:{} <<<<<<<<<<<<<<<<<<<<", new Date());
        SpringApplication.run(ApplicationMain.class, args);
    }
}
